// pages/login/login.js
const config = require('../config')

Page({
  data: {
    userAccount: '',
    userPassword: '',
    avatarUrl: '',
    isChoosingAvatar: false
  },
  // 头像
  getFaceImg(event) {
    try {
      if (this.data.isChoosingAvatar) return;
      this.setData({
        avatarUrl: event.detail.avatarUrl,
        isChoosingAvatar: false,
      });
    } catch (error) {
      console.error('选择头像出现错误：', error);
    }
  },
  // 假设这是触发选择头像的函数
  startChooseAvatar() {
    if (this.data.isChoosingAvatar) return;
    this.setData({
      isChoosingAvatar: true,
    });
  },
  // 账号
  onNicknameInput(e) {
    console.log(e)
    this.setData({
      userAccount: e.detail.value
    });
  },
  // 密码
  oniPhoneInput(e) {
    console.log(e)
    this.setData({
      userPassword: e.detail.value
    });
  },
  async login() {
    try {
      const { API_BASE_URL } = config;
      const userData = {
        userAccount: this.data.userAccount,
        userPassword: this.data.userPassword,
        avatarUrl: this.data.avatarUrl
      };
  
      // 发送登录请求
      const response = await new Promise((resolve, reject) => {
        wx.request({
          url: `${API_BASE_URL}/user/login`,
          method: "POST",
          header: {
            'content-type': 'application/json' // 确保服务器期望接收 JSON 数据
          },
          data: userData, // 不需要手动调用 JSON.stringify
          success: resolve,
          fail: reject
        });
      });
  
      console.log("Response:", response); // 打印整个响应对象，便于调试
  
      // 检查响应是否成功
      if (response.data.message === "ok") {
  
        // 从响应头中获取 token
        const token = response.header['satoken'];
  
        if (!token) {
          console.error('没有找到 Token');
          return;
        }
  
        // 假设后端返回了一个包含 userInfo 的对象
        const userInfo = response.data.data;
  
        console.log("Token:", token);
        console.log("UserInfo:", userInfo);
  
        // 保存 Token 和用户信息到本地存储
        wx.setStorageSync('token', token);
        wx.setStorageSync('userInfo', userInfo);
  
        // 更新页面数据中的 userInfo
        this.setData({
          userInfo: userInfo
        });
  
        // 跳转到个人中心页面
        wx.switchTab({
          url: '/pages/my/my'
        });
  
      } else {
        // 显示错误消息给用户
        wx.showToast({
          title: response.data.message || '登录失败',
          icon: 'none',
          duration: 2000
        });
      }
  
    } catch (error) {
      console.error('请求错误:', error);
      wx.showToast({
        title: '网络请求失败，请稍后再试',
        icon: 'none',
        duration: 2000
      });
    }
  }
})